1. Field of the Invention
The present invention relates generally to systems and methods for multiplexing data streams comprising MPEG encoded data, and particularly, to a system and method for multiplexing Constant Bit Rate (CBR) encoded multimedia content for transmission over a shared fixed bit-rate data channel.
2. Discussion of the Prior Art
In a broadcast environment where systems such as the MPEG-II Transport Stream (TS) defined by the ISO/IEC 13818 are used, one transmitter, often referred to as video server, typically is connected to a large quantity of receivers also referred to as clients. Implementing such an environment requires complex processing schemes, such as MPEG-II encoding and large scale buffering defined in ISO/IEC 13818-2 and ISO/IEC 13818-3 to be present prior to the transmitter to allow the receiver to be implemented using a relatively simple decoding process and small buffers. Supporting a small buffer in the receiver requires a sophisticated transmission bit rate control mechanism such as Constant Bit Rate (CBR) to be implemented at the video server to control data flow and prevent receiver buffer underflow or overflow.
When a transmission system, such as said MPEG-II TS, utilizes Time Division Multiplexing (TDM) as a means to multiplex a multitude of CBR data sources into a shared fixed bit rate medium, additional requirements arise. Requirements such as fixed guarantee bandwidth allocation, real-time content header and payload updates reflecting the alteration of the environment caused by the difference in bit rate between program stream and data channel demand accurate calculations, while cost consideration drives for simple implementation utilizing relative cheap devices. Moreover, the presence of accurate time stamp information, such as the Program Clock Reference (PCR) defined in the ISO/IEC 13818-1 standard, within the transmitted data stream requires an accurate update when re-multiplexing this stream to the required bit rate.
Systems that perform TDM functions are well known in the art. Many of these, such as U.S. Pat. No. 4,750,168, U.S. Pat. No. 5,757,800, and U.S. Pat. No. 5,757,807 describe systems that enable several analog sources to share a common analog communication channel. This requires all analog sources to comply with the required parameters such as transmission bandwidth of the communication channel. The channel is equally shared, assigning equal bandwidth allocation to each dedicated source according to a fixed interval round-robin scheme.
Systems such as described in U.S. Pat. No. 5,719,858 that implement TDM for digital applications, allow all sources to compete for the available bandwidth of the channel. While the sources in these-systems gain performance by increasing bandwidth, systems implementing the MPEG-II TS standard may overflow the receiving buffer if the allocated bandwidth per data stream is not strictly controlled.
Systems such as U.S. Pat. No. 5,640,388 and U.S. Pat. No. 5,790,543 detect and subsequently correct timing information contained in the transmitted data channel.
It would be highly desirable to provide a multiplexing system that provides accurate bandwidth control, allowing bandwidth requirements to vary per multiplexed data stream while guaranteeing availability of allocated bandwidth.
It is an object of the present invention to provide a transport packet multiplexing system that provides accurate bandwidth allocation, allowing bandwidth requirements to vary per multiplexed data stream while guaranteeing bandwidth availability.
Another object of the invention is to provide a multiplexing system that includes accurate timing control by implementing a real-time scheduling mechanism for adjusting time representations carried within the stream based upon timing information obtained at the time of multiplexing, to accurately represent transmission time alterations.
It is yet another object of the invention to provide a multiplexing system for multiplexing MPEG-II transport packets onto a digital communications channel, providing all digital sources with their specific bandwidth requirements by assigning an appropriate amount of time slots for each data source.
It is a further object of the invention to provide an optimized TDM system utilizing low cost devices capable of performing a few initial accurate calculations in software for simplifying all further calculations and thus, ensuring performance of the remaining real-time scheduling process, maintaining the required accuracy level.
According to the present invention, there is provided a system and method for multiplexing transport packets associated with one or more data sources for transmission over a shared fixed bit rate medium, at least-one data source required to transmit packets at an associated Constant Bit Rate (CBR), the method including: storing transport packets associated with a data source within a data queue memory storage device associated with a respective data source, each data queue memory device having an associated queue identifier (QID); maintaining timing information comprising plurality of time intervals and scheduling a time interval for each QID having a transport packet to be multiplexed on the shared medium based on a required CBR for the data source and the fixed bit rate medium; tracking in real-time time intervals associated with the fixed bit rate and determining from a current time interval a scheduled transport packet associated with the QID to be multiplexed; determining a time offset indicating a difference between the scheduled time interval for the transport packet and an actual time of multiplexing the transport packet; and, updating the timing information for a next transport packet to be multiplexed from the associated QID based on the determined time offset and an associated CBR of the data source.
Advantageously, all real-time devices in the system of the invention may be implemented in either hardware or software depending upon performance requirements and maximum supported data rate.